/**
 * 给三个点判直角三角形，用点积。
 */
#include <bits/stdc++.h>
#include <bits/extc++.h>
using namespace std;

using llt = long long;
using vi = vector<int>;
using vll = vector<llt>;

template<typename T>
void input(vector<T> & v, int n){
    v.assign(n, {});
    for(int i=1;i<=n;++i) cin >> v[i];
    return;
}

template<typename T>
istream & operator >> (istream & is, vector<T> & v){
    for(auto & i : v) is >> v;
    return is;
}

struct Point{
    llt x;
    llt y;
    llt dot(const Point & A, const Point & B) const {
        auto xoa = A.x - x;
        auto yoa = A.y - y;
        auto xob = B.x - x;
        auto yob = B.y - y;
        return xoa * xob + yoa * yob;
    }
    void input(){
        cin >> x >> y;
    }
};

void work(){
    array<Point, 3> p;
    for(auto & i : p) i.input();
    bool flag = false;
    for(int i=0;i<3;++i){
        if(0 == p[i].dot(p[(i+1)%3], p[(i+2)%3])){
            flag = true;
            break;
        }
    }
    cout << (flag ? "Yes\n" : "No\n");
    return;
}

int main(){
#ifndef ONLINE_JUDGE
    freopen("z.txt", "r", stdin);
#endif
    ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    int nofkase = 1;
    // cin >> nofkase;
    while(nofkase--) work();
    return 0;
}